function [Y, PatchPath, MatFile] = loadHRPatches(ImgSetPath, Aug, Patch)

if nargin < 3, Aug = []; end

% hImgProcess = Patch.crop;
% Patch = rmfield(Patch, 'crop');

PatchPath = fullfile(srpath.getLHMatHome, [getImgSetName(ImgSetPath) '-*']);
[bFound, PatchPath, MatFile] = myinput.searchDataByParam(PatchPath, 'st.mat', 'Y.mat', Patch, Aug);

%%
if bFound && exist(MatFile, 'file')
    fprintf('\tLoading High Resolution Image Patches ...\n');
    Y = importdata(MatFile);
    if isstruct(Y), Y = Y.Y; end
    fprintf('\tDone!\n\n');
    return
end

%% Gen and Save HR Image Patches
Schedule = '';
fprintf('\t%s\n', Schedule);
Y = srimg.genImgPatches(ImgSetPath, Patch, @(x)x, Schedule);

order = randperm(size(Y, 3));
Y = Y(:, :, order);

%%
Schedule = 'Generating Image Patches Done! Saving ...';
fprintf('\t%s\n', Schedule);
save(MatFile, '-v7.3', 'Y', 'order')
fprintf('\tDone!\n\n');

function ImgSetName = getImgSetName(ImgSetPath)
[~, ImgSetName] = fileparts(ImgSetPath);
p = strfind(ImgSetName, '-');
if ~isempty(p), ImgSetName = ImgSetName(1 : p-1); end
